﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Linq;
using System.Text;

namespace WenSkin.Design.Designer
{
    public class WenLableTextBoxDesigner : TextDesigner
    {
        public override void AddDesignerActionList()
        {
            this.ActionLists.Add(new WenDesignerActionList(this.Component));
        }

        public class WenDesignerActionList : TextBoxDesignerActionList
        {
            public WenDesignerActionList(IComponent component) : base(component)
            {
            }

            public bool ButtonVisible
            {
                get => (bool)TypeDescriptor.GetProperties(this.Component)["ButtonVisible"].GetValue(this.Component);
                set => TypeDescriptor.GetProperties(this.Component)["ButtonVisible"].SetValue(this.Component, value);
            }
            public bool Password
            {
                get => (bool)TypeDescriptor.GetProperties(this.Component)["Password"].GetValue(this.Component);
                set => TypeDescriptor.GetProperties(this.Component)["Password"].SetValue(this.Component, value);
            }

            public string TextLable
            {
                get => TypeDescriptor.GetProperties(this.Component)["TextLable"].GetValue(this.Component)?.ToString();
                set => TypeDescriptor.GetProperties(this.Component)["TextLable"].SetValue(this.Component, value);
            }
            public override DesignerActionItemCollection GetSortedActionItems()
            {
                DesignerActionPropertyItem text = new DesignerActionPropertyItem("Text", "文本");
                DesignerActionPropertyItem textLable = new DesignerActionPropertyItem("TextLable", "提示字符");

                DesignerActionPropertyItem buttonVisible = new DesignerActionPropertyItem("ButtonVisible", "按钮显隐");
                DesignerActionPropertyItem password = new DesignerActionPropertyItem("Password", "是否密码字符掩盖");

                return new DesignerActionItemCollection() { text, textLable, buttonVisible, password };
            }
        }
    }
}
